/*jslint */
/*global __dirname, require, Class */

/**
 * Класс приложения.
 *
 * @class
 * @name Application
 * @extends Class
 */
var Application = Class.$extend({

    /**
     * Получить полный путь.
     *
     * @public
     * @function
     * @name Application#getPath
     * @param {String} pathname Относительный путь внутри проекта.
     * @returns {String}
     */
    getPath : function (pathname) {
        'use strict';
        var path;
        if (typeof pathname !== 'string') {
            throw new TypeError('Не верно задан путь, ожидается строка!');
        }
        if (typeof Application.paths[pathname] !== 'string') {
            path = require('path');
            Application.paths[pathname] = path.join(__dirname, pathname);
        }
        return Application.paths[pathname];

    }

});

/**
 * @private
 * @field
 * @name Application.paths
 * @type {Object}
 */
Application.paths = {};